Operation execution control server, rule generation server, terminal device, linkage system, method for controlling operation execution control server, method for controlling rule generation server, method for controlling terminal device, and control program

ABSTRACT

Within a certain time period, an action is executed according to a circumstance in which a plurality of events occur. A linking server ( 1 ) includes (i) an event detecting section ( 103 ) which detects an occurrence of each of a plurality of events specified in a linking rule and (ii) an action execution control section ( 105 ) which controls a device controlling server ( 2 ) to execute an action in a case where an occurrence of one of the plurality of events is detected and then, within the certain time period, occurrences of all of remaining ones of the plurality of events are detected.

TECHNICAL FIELD

The present invention relates to, for example, an operation executioncontrolling server which controls an operation execution service toexecute an action in accordance with a linking rule indicative of theoperation and of a trigger that triggers the operation.

BACKGROUND ART

A system which links a plurality of network services is known asconventional art. For example, Patent Literature 1 below discloses anintermediation method which facilitates operations for user registrationduring linking of a plurality of network services.

CITATION LIST Patent Literature

[Patent Literature 1]

Japanese Patent Application Publication, Tokukai, No. 2014-211873(Publication Date: Nov. 13, 2014)

SUMMARY OF INVENTION Technical Problem

Using conventional art such as that described above makes it possiblefor a service for controlling operations of a device to control thedevice to carry out a certain operation, the service being triggered todo so by provision of information from another service. For example,obtaining information indicating that a living room door in a user'shouse has been opened can be a trigger to control a device in the livingroom to speak (output a voice) a message directed to the user.

However, according to such conventional art, only a single event can beset as a trigger. This in some cases makes it impossible to execute anaction according to the circumstances. For example, in a case where auser returns home and opens the living room door, an appropriatewelcoming message is, for example, “Welcome home”. In a case where theuser is leaving the living room, an appropriate message is, for example,“See you”. However, with conventional art such as that described above,it is only possible to speak a message of a certain content in responseto such a single event that the living room door is opened. It istherefore impossible to speak different messages according to varyingcircumstances.

The present invention has been made in view of the problem, and it is anobject of the present invention to achieve a linking server and the likewhich make it possible to execute an action according to a circumstancein which a plurality of events occur within a certain time period.

Solution to Problem

In order to attain the object, an operation execution controlling serverin accordance with an embodiment of the present invention is anoperation execution controlling server which controls an operationexecution service to execute an action in accordance with a linking ruleindicative of the action and of a trigger that triggers the action, thelinking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the operationexecution controlling server including: an event detecting section; andan operation execution control section, the event detecting sectionbeing configured to detect each of the occurrences of the plurality ofevents according to information received from an information providingservice, and the operation execution control section being configured tocontrol the operation execution service to execute the action in a casewhere the event detecting section detects an occurrence of one of theplurality of events and then detects, within a certain time period,occurrences of all of remaining ones of the plurality of events.

In order to attain the object, a rule generating server in accordancewith an embodiment of the present invention is a rule generating serverthat generates a linking rule in accordance with which an operationexecution controlling server controls an operation execution service toexecute an action, the linking rule being able to specify a plurality ofevents, an occurrence of each of which is detected (i) as a trigger thattriggers the action and (ii) according to information providing servicetransmitted from an information providing service to the operationexecution controlling server, the rule generating server including: areceiving section; and a rule generating section, the receiving sectionbeing configured to receive, from a terminal device for use inregistration of the linking rule, (i) designation of the action, (ii)designation of the plurality of events, and (iii) designation of anupper limit of a time period between a time point at which an occurrenceof one of the plurality of events is detected and a time point at whichoccurrences of all of remaining ones of the plurality of events, and therule generating section being configured to generate the linking rule inwhich the action, the plurality of events, and the time period thusreceived by the receiving section are associated with each other.

In order to attain the object, a terminal device in accordance with anembodiment of the present invention is a terminal device that controls arule generating server to generate a linking rule in accordance withwhich an operation execution controlling server controls an operationexecution service to execute an action, the linking rule being able tospecify a plurality of events, an occurrence of each of which isdetected by the operation execution controlling server (i) as a triggerthat triggers the action and (ii) according to information providingservice transmitted from an information providing service to theoperation execution controlling server, the terminal device including: arule setting section; and an information notifying section, the rulesetting section being configured to receive, from a user who registersthe linking rule, (i) designation of the action, (ii) designation of theplurality of events, and (iii) designation of an upper limit of a timeperiod between a time point at which an occurrence of one of theplurality of events is detected and a time point at which occurrences ofall of remaining ones of the plurality of events, and the informationnotifying section being configured to notify the rule generating serverof the action, the plurality of events, and the time period thusreceived by the rule setting section, so that the rule generating servergenerates the linking rule in which the action, the plurality of events,and the time period are associated with each other.

In order to attain the object, a linking system in accordance with anembodiment of the present invention is a linking system including: aninformation providing server; a device controlling server; an operationexecution controlling server; and a control-target device, the operationexecution controlling server being configured to control thecontrol-target device to execute an action in accordance with a linkingrule indicative of the action and of a trigger that triggers the action,the linking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the informationproviding server being configured to transmit, to the operationexecution controlling server, information concerning the plurality ofevents, and the operation execution controlling server being configuredto control, via the device controlling server, the control-target deviceto execute the action in a case where an occurrence of one of theplurality of events is detected according to the information transmittedfrom the information providing server and then, within a certain timeperiod, occurrences of all of remaining ones of the plurality of eventsare detected.

In order to attain the object, an operation execution controlling servercontrolling method in accordance with an embodiment of the presentinvention is a method of controlling an operation execution controllingserver which controls an operation execution service to execute anaction in accordance with a linking rule indicative of the action and ofa trigger that triggers the action, the linking rule being set so thatoccurrences of a plurality of events serve as the trigger correspondingto the action, the method including the steps of: (a) detecting each ofthe occurrences of the plurality of events according to informationreceived from an information providing service; and (b) controlling theoperation execution service to execute the action in a case where in thestep (a), an occurrence of one of the plurality of events is detectedand then, within a certain time period, occurrences of all of remainingones of the plurality of events are detected.

In order to attain the object, a rule generating server controllingmethod in accordance with an embodiment of the present invention is amethod of controlling a rule generating server that generates a linkingrule in accordance with which an operation execution controlling servercontrols an operation execution service to execute an action, thelinking rule being able to specify a plurality of events, an occurrenceof each of which is detected (i) as a trigger that triggers the actionand (ii) according to information providing service transmitted from aninformation providing service to the operation execution controllingserver, the method including the steps of: (a) receiving, from aterminal device for use in registration of the linking rule, (i)designation of the action, (ii) designation of the plurality of events,and (iii) designation of an upper limit of a time period between a timepoint at which an occurrence of one of the plurality of events isdetected and a time point at which occurrences of all of remaining onesof the plurality of events; and (b) generating the linking rule in whichthe action, the plurality of events, and the time period thus receivedin the step (a) are associated with each other.

In order to attain the object, a terminal device controlling method inaccordance with an embodiment of the present invention is a method ofcontrolling a terminal device that controls a rule generating server togenerate a linking rule in accordance with which an operation executioncontrolling server controls an operation execution service to execute anaction, the linking rule being able to specify a plurality of events, anoccurrence of each of which is detected by the operation executioncontrolling server (i) as a trigger that triggers the action and (ii)according to information providing service transmitted from aninformation providing service to the operation execution controllingserver, the method including the steps of: (a) receiving, from a userwho registers the linking rule, (i) designation of the action, (ii)designation of the plurality of events, and (iii) designation of anupper limit of a time period between a time point at which an occurrenceof one of the plurality of events is detected and a time point at whichoccurrences of all of remaining ones of the plurality of events; and (b)notifying the rule generating server of the action, the plurality ofevents, and the time period thus received in the step (a), so that therule generating server generates the linking rule in which the action,the plurality of events, and the time period are associated with eachother.

Advantageous Effects of Invention

With an embodiment of the present invention, it is advantageouslypossible to execute an action according to a circumstance in which aplurality of events occur within a certain time period.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating main configurations of a linkingserver and of an operation terminals in accordance with Embodiment 1 ofthe present invention.

FIG. 2 is a diagram schematically illustrating a linking systemincluding the linking server and the operation terminal.

FIG. 3 is a diagram showing examples of the linking rules used in thelinking system.

FIG. 4 is a view illustrating linking rule management information whichis used by the linking server.

FIG. 5 is a flow chart illustrating a process in which the linkingserver detects a triggering event and causes an action to be executed.

FIG. 6 is a diagram showing an example of how the linking server inaccordance with Embodiment 2 of the present invention carries out acontrol in a case where a plurality of actions specified in respectivelinking rules are to be executed.

FIG. 7 is a diagram showing examples of the linking rules used in alinking system in accordance with Embodiment 3 of the present invention.

FIG. 8 is a view showing examples of UI screens displayed in generatinga linking rule in Embodiment 4 of the present invention.

FIG. 9 is a view showing examples of UI screens that prompt the user toselect candidates of a trigger and an action.

FIG. 10 is a view showing an example of a screen to be displayed topresent the user with a set linking rule.

FIG. 11 is a flow chart illustrating respective processes for theoperation terminal and the linking server in generating a linking rule.

FIG. 12 is a block diagram illustrating a configuration of a computer bywhich the linking server and the operation terminal in accordance withthe above embodiments can be achieved.

DESCRIPTION OF EMBODIMENTS Embodiment 1

The following description will discuss an embodiment of the presentinvention in detail with reference to FIGS. 1 through 5.

[Overview of System]

An overview of a linking system in accordance with Embodiment 1 will bedescribed first with reference to FIG. 2. FIG. 2 is a diagramschematically illustrating the linking system 7. The linking system 7provides a linking service for linking a plurality of services.

Services to be linked in the linking system 7 can be classified intotrigger services (information providing service) and action services(operation execution service). In other words, in the linking system 7,in a case where a certain event relating to a trigger service occurs, anaction service execute a certain action. This makes it possible toprovide a variety of linking services in which differing services arecombined.

Embodiment 1 will discuss an example in which (i) a trigger service is aservice for providing notification of information concerning a certainevent and (ii) an action service is a service for controlling a device(control-target device) 4 to execute a certain operation, morespecifically, for controlling the device 4 to speak. Note that thetrigger service is not limited to any particular one. For example, thetrigger service can be a service for providing notification that a userhas opened a living room door of the user's home. Likewise, the actionservice is also not limited to services controlled by the devices 4.

As illustrated, the linking system 7 includes (i) a linking server(operation execution controlling server, rule generating server) 1 forproviding the linking service, (ii) a device controlling server 2 forproviding the action service, (iii) operation terminals (terminaldevices) 3 which are used for, for example, setting a linking rule, (iv)the devices 4 which are controlled by the device controlling server 2,and (v) information providing servers 5 which provide the triggerservice. Note that the linking rule is information indicative of (i) anaction to be executed by an operation execution service and (ii) atrigger that triggers the action. Embodiment 1 will discuss an examplein which the linking server 1 generates a linking rule and uses thelinking rule (action execution control in accordance with the linkingrule). However, these processes can be individually executed bydifferent devices (servers).

In a case where an information providing server 5 receives a result ofdetection by a sensor provided within a living range of the user (e.g.,home) and then judges, based on the result, that a certain event (e.g.,door being opened) occurred, the information providing server 5 notifiesthe linking server 1 that the certain event has occurred. By thenotification, the linking server 1 detects that the certain event hasoccurred. With this detection as a trigger, the linking server 1controls the device controlling server 2 to control a device 4 to outputa certain voice. This makes it possible, for example, to control adevice 4, which is installed in the user's home, to speak “Welcome home”to the user when the user returns home and opens door.

Each of the devices 4 need only be a device controlled by the devicecontrolling server 2 and is not particularly limited. Embodiment 1 willdiscuss (i) an example in which one device 4 is a robot equipped with anability to converse with the user and (ii) an example in which anotherdevice 4 is a home-use electrical appliance equipped with an ability toconverse with the user (hereinafter referred to as “home appliance”). Asin the illustrated example, each device 4 can be shared by a pluralityof users.

Each user has an operation terminal 3 which can be used to set a linkingrule so that controlling an operation of a device 4 is an action.According to the linking system 7, each linking rule is set so as to beable to specify (i) a plurality of events, (ii) an upper limit of a timeperiod (certain time period) in which an occurrence of one of theplurality of events is detected and then occurrences of all of remainingones of the plurality of events are detected, and (iii) an order of theoccurrences of the plurality of events (this configuration will bedescribed later in detail). The linking rule is set so as to be able tospecify an action to be executed in a case where the plurality of eventsare detected within the upper limit of the time period. Specifically,according to the linking system 7, a control in accordance with thelinking rule makes it possible to control a device 4 to execute anaction corresponding to a trigger which is occurrences of the pluralityof events in a certain order within the upper limit of the time period.

[Examples of Linking Rule]

Examples of the linking rule to be used in the linking system 7 will bedescribed next with reference to FIG. 3. FIG. 3 is a diagram showing theexamples of the linking rules used in the linking system 7. Linkingrules A and B illustrated in FIG. 3 each include two triggers (events)and one action. An order of occurrences of the two triggering events ofeach linking rule is specified, and an upper limit of a time periodbetween an occurrence of a first triggering event and an occurrence of asecond triggering event is specified. Each of the linking rules is thusscenario-like information which indicates (i) a plurality of events,(ii) at least one action, and (iii) the order of the plurality ofevents. In each of the linking rules, a priority rank is furtherspecified.

Specifically, the linking rule A illustrated in FIG. 3 is set so that(i) the first triggering event is an event in which a front door of auser's house is opened (Front door OPEN) and (ii) the second triggeringevent is an event in which a living room door of the user's house isopened (Living room door OPEN). The linking rule A is set to specify anaction to control the device 4, which is a robot, to speak “Welcomehome”. This makes it possible to control the device 4 to speak “Welcomehome” in a case where the user takes such a series of actions as openingthe front door when retuning home and then, within the upper limit ofthe time period (e.g., 5 minutes), entering the living room, that is,opening the front door to enter the living room.

The linking rule B illustrated in FIG. 3 is set so that (i) the firsttriggering event is an event in which a bathroom door of the user'shouse is opened (Bathroom door OPEN) and (ii) the second triggeringevent is, as in the linking rule A, the Living room door OPEN. Thelinking rule B is set to specify an action to control the device 4,which is a robot, to speak “Have you washed your hands?”. This makes itpossible to control the device 4 to speak “Have you washed your hands?”in a case where the user uses a bathroom and then, within the upperlimit of the time period (e.g., 10 minutes), enters the living room.

With the linking system 7, it is thus possible to use a linking rulewhich is set so that a plurality of events serve as a trigger. Thisallows an action, which is appropriate according to a behavioral historyof the user, to be executed. For example, while the linking rules A andB are identical in terms of the second triggering event, it is possibleto control the device 4 to execute different actions according to thedifferent first triggering events. Specifically, it is possible to (i)control the device 4 to speak a message to welcome the user in a casewhere the user returns home and then enters the living room and (ii)controls the device 4 to speak a message to check on washing of thehands in a case where the user leaves the bathroom and then enters theliving room.

[Apparatus Configurations of Linking Server and of Operation Terminals]

Apparatus configurations of the linking server 1 and of the operationterminals 3 will be described next with reference to FIG. 1. FIG. 1 is ablock diagram illustrating main configurations of the linking server 1and of the operation terminals 3. The linking server 1 will be describedfirst, and then the operation terminals 3 will be described later.

[Configuration of Linking Server]

As illustrated, the linking server 1 includes (i) a server controlsection 10 which comprehensively controls each section of the linkingserver 1, (ii) a server storage section 11 which stores various dataused by the linking server 1, and (iii) a server communication section12 which allows the linking server 1 to communicate with other devices.Note that

FIG. 1 shows an example in which a single communication section 12 isused for communication with the device controlling server 2, theoperation terminals 3, and the information providing servers 5.Alternatively, communication can be carried out via differingcommunication sections (communication interfaces) according to thedevice to be communicated with.

The server control section 10 includes a setting receiving section(receiving section) 100, a candidate notifying section 101, a rulegenerating section 102, an event detecting section 103, a conditionjudging section 104, and an action execution control section (operationexecution control section) 105. The server storage section 11 storescorresponding candidates information 110 and linking rule managementinformation 111.

The setting receiving section 100 receives various designationsconcerning generation of linking rules.

Specifically, the setting receiving section 100 receives (i) designationof an action, (ii) designation of a trigger (a plurality of events canbe designated as a trigger), and (iii) designation of an upper limit ofa time period. The upper limit of the time period serves as a time limitduring which a plurality of events are to be detected.

The candidate notifying section 101 notifies, in a case where thesetting receiving section 100 receives designation of one of theplurality of events, the operation terminals 3 of at least one of (i) anevent which can serve as a trigger together with the one of theplurality of events and (ii) an action which can be triggered by thetrigger.

The rule generating section 102 generates a linking rule in which theaction, the trigger, and the time period upper limit thus received bythe setting receiving section 100 are associated with each other. Therule generating section 102 also registers the generated linking rule inthe linking rule management information 111.

The event detecting section 103 detects an occurrence of each of theplurality of events which are set as a trigger in the linking rule.Embodiment 1 will discuss an example in which an occurrence of an eventis detected through notification from the information providing servers5 (information providing services). Specifically, in a case where alinking rule is registered, the event detecting section 103 instructs aninformation providing server 5 to provide notification that an event setas a trigger in the linking rule has occurred. In this way, in a casewhere the event occurs, the information providing server 5 notifies thelinking server 1 of information indicative of the occurrence of theevent. By receiving the information, the event detecting section 103detects the occurrence of the event. Alternatively, the event detectingsection 103 can detect an occurrence of an event through notificationfrom other devices (other services) such as the device controllingserver 2. Alternatively, information outputted from, for example, thedevice 4 or a sensor (e.g., information indicative of detection of anevent in which the device 4 is turned on or an event in which a door isopened/closed) can be transmitted from the device 4 or the sensor to thelinking server 1 without being routed through the device controllingserver 2 or the like. In such a case, it is possible that when thedevice 4 or the sensor is connected to the linking server 1, theconnection thus established serves as a trigger to start transmittinginformation such as that described above.

The condition judging section 104 judges, for each of the linking rulesregistered in the linking rule management information 111, whether ornot conditions for executing an action are met, that is, whether or nota plurality of events have occurred within an upper limit of a timeperiod.

When the event detecting section 103 detects an occurrence of one of theplurality of events set as a trigger and then detects, within the upperlimit of the time period, occurrences of all of remaining ones of theplurality of events, the action execution control section 105 causes theaction to be executed. Specifically, in a case where the conditionjudging section 104 judges that the conditions for executing the actionaccording to the linking rule are met, the action execution controlsection 105 controls the device controlling server 2 to execute theaction. Note that since the device controlling server 2 controls thedevices 4 to execute an action, it can be said that the action executioncontrol section 105 controls the devices 4 to execute an action via thedevice controlling server 2.

The corresponding candidates information 110 is information for decidingcandidates of triggers and actions to present to a user in a case wherea linking rule is to be set. More specifically, the correspondingcandidates information 110 is information indicative of a combination ofa trigger (event(s)) and an action which can be included in a singlelinking rule. By referring to the corresponding candidates information110, the candidate notifying section 101 can specify at least one of anevent(s) and an action which can be included, in the linking rule,together with a trigger and an action which are already designated bythe user.

The linking rule management information 111 is information for use inmanagement of set linking rules. Any linking rule set by the user isregistered in the linking rule management information 111. The linkingrule management information 111 can be configured as illustrated in, forexample, FIG. 4. FIG. 4 is a view illustrating the linking rulemanagement information 111. The linking rule management information 111illustrated in FIG. 4 is in a table format in which rule identificationinformation, triggers, set time periods, actions, priority ranks, andthe numbers of times of use are associated.

The rule identification information is information for use inidentification of linking rules. A unique code as the ruleidentification information is assigned to each linking rule. Stored ineach line of the “trigger” column is information indicative of anevent(s) that serve(s) as a trigger for triggering an action specifiedin a corresponding linking rule. The events are assigned withcorresponding numbers which indicate the order of occurrences of theevents. Stored in each line of the “set time period” column is an upperlimit of a time period between an occurrence of a first event and anoccurrence of a final event which are specified in a correspondingtrigger.

Stored in each line of the “action” column is information indicative ofan operation to be executed by the device controlling server 2 in a casewhere all of events set in the corresponding line of the “trigger”column occur within an upper limit of a corresponding time period. Inthe example shown, the actions to be executed by the robot (one of thedevices 4) include (i) robot speaking “welcoming” (the robot iscontrolled to speak “Welcome home”) and (ii) robot speaking “handwashing check” (the robot is controlled to speak “Have you washed yourhands?”). The actions to be executed by a TV (another one of the devices4) include (i) a TV speaking “welcoming” (the TV is controlled to speak“Welcome home”) and (ii) a TV speaking “relaxing” (the TV is controlledto speak “Make yourself comfortable”).

Stored in each line of the “priority rank” column is informationindicative of a priority rank of a corresponding linking rule inrelation to the other linking rules. In the present example, numericalvalues of 1 through 10 (larger values have higher priority ranks).However, a method of indicating priority ranks is not limited to thisexample. Stored in each line of the “number of times of use” column isinformation indicative of the number of times a corresponding linkingrule has been used (a corresponding action has been executed by meetingthe trigger conditions).

[Configurations of Operation Terminals]

The operation terminals 3 are each a device which receives an operationof a user to register a linking rule, and then controls the linkingserver 1 to generate a linking rule according to an operation content.The operation terminals 3 can each be an information processing devicesuch as a smartphone. An operation terminal 3 illustrated in FIG. 1includes (i) a terminal control section 30 which comprehensivelycontrols each section of the operation terminal 3, (ii) a terminalstorage section 31 in which various data used by the operation terminal3 is stored, and (iii) a terminal communication section 32 which allowsthe operation terminal 3 to communicate with other devices. Theoperation terminal 3 further includes (i) a display section 33 whichdisplays an image according to a control of the terminal control section30 and (ii) an input section 34 which receives an input operation of auser. Note that the input section 34 can be a touch panel which receivesan input operation of a user on a display surface of the display section33.

The terminal control section 30 includes an information notifyingsection 300, a rule setting section 301, and a candidate obtainingsection 302. These processing sections can be achieved by, for example,installing application software on the operation terminal 3.

The rule setting section 301 controls certain user interface(hereinafter abbreviated as “UI”) screens to be displayed, so as toreceive various designations concerning generation of linking rules.Specifically, the rule setting section 301 receives (i) designation ofan action, (ii) designation of a trigger (a plurality of events can bedesignated as a trigger), and (iii) designation of an upper limit of atime period.

The information notifying section 300 notifies the linking server 1 ofthe action, the trigger, and the time upper limit thus received by therule setting section 301, so that the linking server 1 generates alinking rule in which the action, the trigger, and the time period upperlimit are associated with each other.

The candidate obtaining section 302 obtains, from the candidatenotifying section 101 of the linking server 1, candidates of triggersand actions to present to a user in a case where a linking rule is to beset. Then, the candidate obtaining section 302 controls the displaysection 33 to display the candidates thus obtained. This allows the userto select a trigger and an action from the candidates.

[Flow of Process (Trigger Detection Through Action Execution)]

A flow of a process to be executed by the linking server 1 will bedescribed with reference to FIG. 5. FIG. 5 is a flow chart illustratinga process in which the linking server 1 detects a triggering event andcauses an action to be executed (method of controlling the operationexecution controlling server).

The event detecting section 103 detects, based on information of whichan information providing server 5 notifies the event detecting section103, an occurrence of an event which is set as a trigger (S1, eventdetecting step). Then, the condition judging section 104 judges whetheror not the event detected in the step S1 is set as a final event interms of the order of occurrence in a linking rule (S2). In a case whereit is judged that the event is not set as a final event in the order ofoccurrence (NO in S2), the linking server 1 goes into a state in whichthe linking server 1 waits for detection of a next event. Then, in acase where the next event is detected, the linking server 1 carries outagain the process including the step S1 and the subsequent steps.

Meanwhile, in a case where it is judged in the step S2 that the event isset as the final event in the order of occurrence (YES in S2), thecondition judging section 104 judges whether or not occurrences of allof events associated with an action have been detected within a set timeperiod (the upper limit of the time period) (S3). In other words, thecondition judging section 104 judges whether or not all of flags forexecuting the action are raised (all of the events corresponding to theaction have been detected). For example, in a case where the secondevent (Living room door OPEN) in the above-described linking rule A (seeFIG. 4) is detected in the step S1, the condition judging section 104judges whether or not the first event (Front door OPEN) was detectedduring a 5-minute period before a time point of the detection in thestep S1.

In a case where the condition judging section 104 judges that all of theevents have been detected (YES in S3), the action execution controlsection 105 instructs the device controlling server 2 to control adevice 4 to execute the action corresponding to the events (S4,operation execution controlling step). This ends the process illustratedin FIG. 5. Meanwhile, in a case where the condition judging section 104judges in the step S3 that an occurrence of at least one of the eventswas not detected within the set time period (NO in S3), the processillustrated in FIG. 5 ends without executing the action.

Note that the order in the action execution control in accordance with alinking rule according to Embodiment 1 is not limited to the exampledescribed above. For example, the fact that a plurality of eventsspecified in a linking rule have occurred in a certain order can bedetected by repeating a process of (i) detecting a first event in theorder of occurrence in the linking rule and (ii) starting detection of anext event in the order if the first event was detected. In so doing, anaction is executed in a case where an occurrence of a final event isdetected within an upper limit of a time period from the occurrence ofthe first event.

The description above discussed an example in which an order is set fora plurality of events specified as a trigger. However, it is unnecessaryto set the order. For example, it is unnecessary to set an order in acase where there is no event that serves as a trigger to directlytrigger an action. For example, an order does not need to be set for asuch linking rule that a cleaning robot is controlled to speak arecommended TV program in a case where the following events aredetected: (i) an event in which a TV is turned on and (ii) an event inwhich an air conditioner starts operating. In the example shown in FIG.5, the process of the step S2 is omitted in a case where the order ofthe plurality of events specified as a trigger is not set.

Embodiment 2

The following description will discuss another embodiment of the presentinvention with reference to FIG. 6. For convenience, any memberidentical in function to a member described in the foregoing embodimentwill be given the same reference sign, and their description will beomitted. This likewise applies to Embodiment 3 and any subsequentembodiments. Embodiment 2 includes a linking server 1 that is controlledin a characteristic manner in a case where detection of a single triggerwill cause a plurality of actions specified in respective linking rulesto be executed. The description below deals with this arrangement withreference to FIG. 6. FIG. 6 is a diagram showing an example of how thelinking server 1 is controlled in a case where a plurality of actionsspecified in respective linking rules are to be executed.

FIG. 6 illustrates the two linking rules described for the aboveembodiment (namely, the linking rules A and B). These linking rulesinclude the same event (Living room door OPEN) set at the end of theorder. This means that detection of this event will cause actionsspecified in the respective linking rules to be executed. The exampleshown in FIG. 6 is arranged such that the two linking rules to beadjusted each include a plurality of events as triggers. Linking rulesto be adjusted can include a linking rule that includes only one eventset as a trigger. For instance, in a case where a linking rule D isregistered with which the Living room door OPEN event as an only triggercauses the TV in the living room to be on standby, adjustment can bemade for the linking rule D and the linking rule A or B illustrated inFIG. 6. Adjustment can, needless to say, be made for the linking rulesA, B, and C as well.

There may be a case where, for instance, the event detecting section 103detects the Entrance door OPEN event, the Bathroom door OPEN event, andthe Living room door

OPEN event in sequence as in the example shown in FIG. 6. In such acase, if (i) the Entrance door OPEN event is followed by the Living roomdoor OPEN event within the set time period of the linking rule A and(ii) the Bathroom door OPEN event is followed by the Living room doorOPEN event within the set time period of the linking rule B, therespective actions for the linking rules A and B are both to beexecuted.

In a case where a plurality of actions are to be executed as illustratedin FIG. 6, the action execution control section 105 included in thelinking server 1 of Embodiment 2 takes one of the following options Athrough C:

A. Control one of the actions to be executedB. Control neither of the actions to be executedC. Control the actions for both the linking rules to be executed.

In a case where the action execution control section 105 takes the aboveoption A, the action execution control section 105 selects one of theactions by a method and controls the selected action to be executed. Theaction execution control section 105 can, for instance, refer to therespective priority ranks set for the linking rules to identify thelinking rule having the higher priority ranks and control the action setfor the identified linking rule to be executed. Alternatively, theaction execution control section 105 can, for instance, identify thelinking rule having the larger number of times of use (see FIG. 4) andcontrol the action set for the identified linking rule to be executed.Further, the action execution control section 105 can, for instance,select an action randomly and control the selected action to beexecuted.

In a case where the action execution control section 105 takes the aboveoption C, the action execution control section 105 first adjusts, beforeactually controlling the actions to be executed, timings of theexecution of the actions to prevent a problem that occurs if the actionsare executed simultaneously. The action execution control section 105can, for instance, transmit execution instructions for the respectiveactions at time points different from each other. The action executioncontrol section 105 can, in this case, first transmit an executioninstruction for the action for the linking rule having the higherpriority rank or larger number of uses. Alternatively, the actionexecution control section 105 can, for instance, combine the actions tobe executed. In a case where, for instance, the actions are bothspeaking to the user, the action execution control section 105 cancombine those spoken contents with an intervening conjunctive such as“and” to provide a series of spoken contents.

The action execution control section 105 can be configured to (i) adjusttimings of execution of actions as described above only in a case wherecontrolling the actions to be executed simultaneously will cause aproblem and (ii) otherwise not adjust the timings of the execution ofthe actions. In a case where, for instance, (i) the actions are to beexecuted by the same device 4 or (ii) the actions are both speaking,controlling those actions to be executed simultaneously will cause aproblem (for example, the device 4 will suffer from a sudden, heavy loadof processes needed to be carried out, or the spoken contents will bedifficult to hear). The action execution control section 105 can thus beconfigured to (i) adjust timings of execution of actions if a conditionsuch as the above is satisfied (for example, if the actions are to beexecuted by the same device 4 or if the actions are both speaking by adevice 4) and (ii) if no such condition is satisfied, normally controlthe actions to be executed. The description of the Embodiment 2 hasdealt with an example in which the action execution control section 105adjusts the timings of execution of two actions to be executedsimultaneously. Similarly, the action execution control section 105 canalso adjust the timings of execution of three or more actions to beexecuted simultaneously.

Embodiment 3

The following description will discuss still another embodiment of thepresent invention with reference to FIG. 7. The description of theEmbodiment 3 deals with an example of setting, as a trigger for alinking rule, an event (action event) of a certain action having beenexecuted in accordance with the linking rule (or not having beenexecuted in spite of the linking rule). The description of Embodiment 3also deals with an example of, in a case where a certain action was notexecuted, causing an action (alternative action) to be executed thatcompensates for the failure to cause the certain action to be executed.

FIG. 7 is a diagram showing an example of a linking rule used in thelinking system 7 of Embodiment 3. FIG. 7 illustrates a linking rule Cincluding a first triggering event, a first action (which is also asecond triggering event), a third triggering event, and a second action.The linking rule C indicates that if after detection of an event set asa first trigger, (i) the first action is executed and (ii) an event setas the third trigger is detected both within the set time period for thelinking rule C, the second action is executed. In this example, theevent detecting section 103 detects, as occurrence of the action event,the action execution control section 105 controlling the first action tobe executed. A linking rule can be set to cause an action as an actionevent to be executed by (i) an operation execution service that willexecute the final action for the linking rule or (ii) an operationexecution service other than the above operation execution service.

The linking rule C indicates that in a case where after detection of theEntrance door OPEN event, the linking server 1 has (i) successfullycontrolled the robot to speak “Welcome home” and has then (ii) detectedan event of the TV being turned on both within the set time period, thelinking server 1 of the Embodiment 3 controls the TV to speak relaxingwords. The robot and the TV are each a device 4. The linking server 1 iscapable of controlling the robot and the TV via the device controllingserver 2 to speak. The device controlling server 2 detects the TV havingbeen turned on and notifies the linking server 1 of the detection. Theevent detecting section 103 of the linking server 1 is capable of, onthe basis of such a notification, detecting an event of the TV beingturned on. The device controlling server 2 of this example thus providesan information providing service as well.

The linking server 1 of Embodiment 3 controls an alternative action tobe executed in a case where the linking server 1 did not detectoccurrence of, among the events set for the linking rule C, the actionevent (action) of controlling the robot to speak and detected occurrenceof all other events. The above alternative action is executed inaccordance with the linking rule C′ illustrated in FIG. 7.

FIG. 7 illustrates a linking rule C′ including a first triggering event,a second triggering event, a third triggering event, and an action.Among these events and action, the first triggering event and the thirdtriggering event are identical respectively to the first triggeringevent and the third triggering event for the linking rule C. The secondtrigger for the linking rule C′ is an event of the first action for thelinking rule C not having been executed. The action for the linking ruleC′ is of a spoken content identical to that of the second action for thelinking rule C. This means that the action for the linking rule C′ is analternative action that compensates for the failure to cause the firstaction for the linking rule C to be executed.

The linking server 1 of Embodiment 3 is capable of, in accordance withthe linking rule C′, controlling the TV to speak “Welcome home” in acase where the linking server 1 detected the Entrance door OPEN event,failed to control the robot to speak, and then detected the event of theTV being turned on. The linking server 1 may fail to control the robotto speak in a case where, for instance, the communication between therobot and the device controlling server 2 is poor, or the robot isbroken down or has a flat battery. Detection of occurrence of an eventof the failure to cause the action to be executed (that is, control therobot to speak) can be based on, for instance, a failure to, within acertain time period after transmitting an instruction to control therobot to speak, receive from the robot a notification of completion ofthe speaking.

Linking rules such as the above can be managed as part of the linkingrule management information 111 similarly to the linking rules describedfor the above embodiments (see FIG. 4). Linking rules such as the abovecan be set by the user through a procedure as described later forEmbodiment 4. Alternatively, the linking server 1 can automatically setan action as an alternative action in a case where the linking server 1has generated a linking rule including a plurality of actions. In thiscase, the rule generating section 102 of the linking server 1 can modifythe generated linking rule so that the linking rule includes analternative action. Specifically, the rule generating section 102replaces an action (which is not the final action but is an action thatdoubles as a triggering event) for the generated linking rule with atriggering event of the action not having been executed, and changes oneof the actions for the generated linking rule to an alternative action.An alternative action is an action that compensates for the failure tocause an action to be executed, and can be identical to the failedaction entirely or partially or different from the failed action. Forthe example involving the linking rule C′ in FIG. 7, for instance, thelinking server 1 can control the TV to, instead of speaking “Welcomehome”, speak to inform the user that the robot was unable to speak (forexample, speak “The robot was unable to speak”). The linking server 1can cause an alternative action to be executed by the device controllingserver 2 or another device controlling service.

A linking rule including an alternative action does not need to include,as a trigger, the failure to cause an action to be executed. In thiscase, the linking server 1 judges in a case where when the linkingserver 1 has detected occurrence of the second trigger (TV ON), thelinking server 1 has a record of detecting the first trigger (Entrancedoor OPEN) but has no record of successfully controlling the robot tospeak “Welcome home” that the condition for causing an alternativeaction to be executed has been satisfied.

Embodiment 4

The following description will discuss still another embodiment of thepresent invention with reference to FIGS. 8 through 11. The descriptionof Embodiment 4 will deal with how a linking rule is generated. Withreference to FIG. 8, the description below first deals with UI screensdisplayed by an operation terminal 3 when a linking rule is generated.FIG. 8 is a view showing examples of UI screens displayed in generatinga linking rule. FIG. 8 shows an example of how the screen transitionswhen the linking rule C described for the preceding embodiment is set.

When the user starts to set a linking rule, the operation terminal 3first displays the UI screen illustrated in (a) of FIG. 8 to accept adesignation for a first triggering event and a designation for apriority rank. This UI screen includes (i) a priority setting item 50for accepting a designation for a priority rank and (ii) a first triggersetting item 51 for accepting a designation for a first triggeringevent. The user can select the priority setting item 50 on this UIscreen to designate a desired priority rank within a range of 1 to 10.The user can also (i) select the first trigger setting item 51 on thisUI screen to cause candidates of events selectable as a first triggeringevent to be displayed and (ii) select a desired event from among thoseevents to set the selected event as the first triggering event. FIG. 8shows an example of setting the priority rank at 10 (maximum value) andan “Entrance door OPEN” event as the first triggering event.

When the user has designated an event as the first triggering event, theoperation terminal 3 displays the designated triggering event for thefirst trigger setting item 51 as illustrated in (b) of FIG. 8 (see “51′”in FIG. 8). When the user has designated the priority rank, theoperation terminal 3 displays the designated priority rank for thepriority setting item 50 as illustrated in (b) of FIG. 8 (see “50′” inFIG. 8). The operation terminal 3, in response to the designation forthe first triggering event, also displays (i) a second trigger settingitem 52 for accepting a designation for a second triggering event and(ii) a first action setting item 53 for accepting a designation for afirst action as illustrated in (b) of FIG. 8. The user can (i) selectthe second trigger setting item 52 on this UI screen to cause candidatesof events selectable as a second triggering event to be displayed and(ii) select a desired event from among those events to set the selectedevent as the second triggering event. The user can similarly select thefirst action setting item 53 on this UI screen to cause selectablecandidate actions to be displayed and select a desired action to set theselected action as the first action.

When the operation terminal 3 displays candidate events selectable asthe second triggering event and candidate actions selectable as thefirst action, the operation terminal 3 displays only those candidateevents and actions which can be combined with the designated triggeringevent. The description below deals with this arrangement with referenceto FIG. 9. FIG. 9 is a view showing examples of UI screens that promptthe user to select candidates of a trigger and an action.

The UI screen illustrated in (a) of FIG. 9 includes a list of candidatetriggering events that can be combined with a designated triggeringevent. Specifically, this example assumes that the user has designatedan “Entrance door OPEN” event as the first triggering event (see (b) ofFIG. 8). The example shown in (a) of FIG. 9 shows candidate eventsselectable as a second triggering event in combination with thedesignated triggering event (that is, events that the user can designateas a trigger together with the first triggering event). Specifically,this example shows, as candidate events, not only “Bathroom door OPEN”and “TV ON” described for the above embodiments, but also (i) “Child'sroom door OPEN”, indicating that the door of a child's room has beenopened, (ii) “Entrance light ON”, indicating that the entrance light hasbeen turned on, and (iii) “Hallway light ON”, indicating that thepassage light has been turned on. Similarly, the example shown in (b) ofFIG. 9 shows candidate actions that can be executed in response todetection of occurrence of the triggering event (Entrance door OPEN).Specifically, this example shows, as candidate actions, not only “Robotspeaking ‘welcoming’” described for an embodiment above, but also (i)“Send email”, indicative of sending an email to a certain email address,(ii) “Posting on SNS”, indicative of posting a message on a certainsocial networking service (SNS), and (iii) “Sound alarm”, indicative ofcontrolling a certain device 4 to sound an alarm.

The user can select a desired event from among the displayed candidateevents to designate the selected event as the second triggering event.The user can similarly select a desired action from among the displayedcandidate actions to designate the selected action as the first action(that is, the action to be executed in response to the first triggeringevent).

In a case where when the user has selected a triggering event, a linkingrule including that triggering event is already registered, theoperation terminal 3 can display, as a candidate to select, the actionassociated with the triggering event included in the linking rule. In acase where when the user has selected a triggering event, no linkingrule including that triggering event is registered, the operationterminal 3 can display, as a selectable candidate(s), an action(s) thatcan be combined with the triggering event selected by the user. Whichtriggering event can be combined with which action(s) can be defined inadvance for each triggering event. The operation terminal 3 cansimilarly display a candidate triggering event(s) (that is, second andsubsequent triggering events) in addition to the triggering eventselected by the user. This applies similarly to a case where the userhas selected an action: The operation terminal 3 can display a candidatetriggering event(s) and/or another action(s) that are selectable incombination with the selected action.

Assuming, for instance, that the user has designated an Entrance doorOPEN event as a triggering event, (i) if a linking rule is registeredthat includes the Entrance door OPEN event as a trigger, the operationterminal 3 can display, as a selectable candidate(s), another triggeringevent(s) or an action(s) that are set in the linking rule, and (ii) ifno linking rule is registered that includes the Entrance door OPEN eventas a trigger, the operation terminal 3 can display, as a selectablecandidate(s), a triggering event(s) that can be set as a triggertogether with the Entrance door OPEN event or an action(s) that can beexecuted in response to the Entrance door OPEN event as a trigger.

In a case where in the above example, the user has selected, forexample, an Entrance Locked event (that is, an event of a sensordetecting the entrance door being locked) as a triggering event from theselectable candidates, information on the combination of the Entrancedoor OPEN event and the Entrance Locked event can be stored. This allowsthe operation terminal 3 to, in a case where the user has designated theEntrance door OPEN event to register a new linking rule, display“Entrance Locked” as a selectable candidate.

Referring back to FIG. 8, in a case where the user has selected thefirst action setting item 53 on the UI screen illustrated in (b) of FIG.8 to cause the candidate actions illustrated in (b) of FIG. 9 to bedisplayed and then selected “Robot speaking ‘welcoming’” from among thecandidate actions, the operation terminal 3 displays the UI screenillustrated in (c) of FIG. 8. This UI screen shows the designated action(Robot speaking ‘welcoming’) for the first action setting item 53 (see“53” in FIG. 8). This first action setting item 53′ differs from thefirst trigger setting item 51′ (which indicates the designatedtriggering event) in that the first action setting item 53′ has a doubleboundary. Designated triggering events and designated actions preferablyhave respective display forms different from each other as above forappearance discrimination.

The UI screen illustrated in (c) of FIG. 8 includes (i) a second triggersetting item 52 for accepting a designation for a second triggeringevent and (ii) a second action setting item 54 for accepting adesignation for a second action. The user can (i) select the secondtrigger setting item 52 on this UI screen to cause candidate eventsselectable as a second triggering event to be displayed and (ii) selecta desired event from among those events to set the selected event as thesecond triggering event. The user can similarly (i) select the secondaction setting item 54 on this UI screen to cause selectable candidatesecond actions to be displayed and (ii) select a desired action to setthe selected action as the second action. When the user designates anevent as the second triggering event, the UI screen also accepts adesignation for an upper limit of the time period (set time period)between (i) detection of occurrence of the first triggering event (orthe first action that immediately follows the first triggering event)and (ii) detection of occurrence of the second triggering event.

In a case where the user has selected the second trigger setting item 52on the UI screen illustrated in (c) of FIG. 8 to cause the candidatetriggering events illustrated in (a) of FIG. 9 to be displayed and thenselected “TV ON” from among the candidate triggering events, theoperation terminal 3 displays the UI screen illustrated in (d) of FIG.8. This UI screen shows the designated triggering event (TV ON) for thesecond trigger setting item 52 (see “52” in FIG. 8). The UI screen alsoshows a set time period item 55 indicative of a designated time period.The example shown in FIG. 8 does not show an item for accepting adesignation for a third triggering event. The UI screen can, however,accept a designation for third and subsequent triggering events as longas a designated triggering event or action can be combined with anytriggering event. This applies similarly to third and subsequent actionsas well.

In a case where the user has selected the second action setting item 54on the UI screen illustrated in (d) of FIG. 8 to cause candidate actionsto be displayed and then selected “TV speaking ‘relaxing”’ from amongthe candidate actions, the operation terminal 3 displays the UI screenillustrated in (e) of FIG. 8. This UI screen shows the designated action(TV speaking “relaxing”) for the second action setting item 54 (see “54”in FIG. 8). The second action setting item 54′, which indicates adesignated action, has a double boundary similarly to the first actionsetting item 53′ in (c) of FIG. 8.

The user can designate a desired triggering event(s), action(s), andtime period on the above UI screens to generate a desired linking rule.The UI screens displayed when a linking rule is generated are, needlessto say, not limited to the above examples as long as the UI screensallow the user to designate a desired triggering event(s), action(s),and time period.

The linking system 7 can preferably be configured to allow the user toreview a set linking rule on the operation terminal 3, which can, forthis purpose, display a screen such as the screen illustrated in FIG.10. FIG. 10 is a view showing an example of a screen to be displayed topresent the user with a set linking rule. The example screen shown inFIG. 10 includes an identification information displaying item 70, apriority displaying item 71, a first trigger displaying item 72, a firstaction displaying item 73, a second trigger displaying item 74, a secondaction displaying item 75, and a set time period displaying item 76. Thescreen shows identification information for the linking rule (in thisexample, the name of the linking rule) for the identificationinformation displaying item 70.

In the example shown in FIG. 10, the first action displaying item 73 andthe second action displaying item 75 (each of which indicates a setaction) each have a double boundary similarly to the example UI screenshown in FIG. 8.

The example shown in FIG. 10 shows numbers for the first triggerdisplaying item 72, the first action displaying item 73, and the secondtrigger displaying item 74 which numbers indicate the order ofoccurrence of the triggers and action. The example shown in FIG. 10 alsoshows a set time period displaying item 76 next to the above threeitems. This arrangement allows the user to recognize at a glance thatthis linking rule requires the triggers and action for the three itemsto occur in the numbered order within the set time period indicated inthe set time period displaying item 76.

The example shown in FIG. 10 shows a second action displaying item 75under the three items and the set time period displaying item 76 next tothe three items. This arrangement allows the user to recognize at aglance that in a case where the triggers and action for the three itemshave occurred within the set time period indicated in the set timeperiod displaying item 76, the action indicated in the second actiondisplaying item 75 will be executed at the end. A display screen such asthe above can be generated by, for example, the rule generating section102 of the linking server and displayed by the operation terminal 3, orcan be generated by, for example, the rule setting section 301 of theoperation terminal 3 on the basis of settings by the rule settingsection 301 (of which the linking server 1 has been notified) to bedisplayed.

[Process Flow (Linking Rule Generation)]

With reference to FIG. 11, the following description will discussrespective process flows for the operation terminal 3 and the linkingserver 1 when a linking rule is generated. FIG. 11 is a flow chartillustrating respective processes for the operation terminal 3 and thelinking server 1 (that is, a method of controlling a terminal device anda method of controlling a rule generating server) in generating alinking rule. FIG. 11 illustrates processes carried out after the rulesetting section 301 of the operation terminal 3 has controlled thedisplay section 33 to display a UI screen for linking rule generation(see FIG. 8) and the UI screen has accepted an input operation by theuser.

First, the rule setting section 301 judges whether the input operationon the UI screen is to set a priority rank, a trigger, or an action(S10). Assuming, for instance, that the operation terminal 3 hasdisplayed the UI screen illustrated in (a) of FIG. 8, (i) in a casewhere the user has selected the priority setting item 50, the rulesetting section 301 judges that the input operation is to set a priorityrank, and (ii) in a case where the user has selected the first triggersetting item 51, the rule setting section 301 judges that the inputoperation is to set a trigger. Assuming, for instance, that theoperation terminal 3 has displayed the UI screen illustrated in (b) ofFIG. 8, in a case where the user has selected the first action settingitem 53, the rule setting section 301 judges that the input operation isto set an action.

In a case where the rule setting section 301 has judged in the step S10that the input operation is to set a priority rank, the rule settingsection 301 accepts an input (designation) of a priority rank by theuser (S18). The process then proceeds to a step S15. In the step S15,the rule setting section 301 updates the UI screen to reflect the inputaccepted. In a case where the user has set the priority rank at 10, forinstance, the rule setting section 301 controls the display section 33to show “10” for the priority rank as illustrated in (b) of FIG. 8. Theprocess then proceeds to a step S16.

In a case where the rule setting section 301 has judged in the step S10that the input operation is to set a trigger, the candidate obtainingsection 302 obtains, from the linking server 1, information on acandidate triggering event(s) and controls the display section 33 todisplay the candidate triggering event(s) (S11). The candidate obtainingsection 302 can set a condition for obtaining information on a candidatetriggering event(s). The candidate obtaining section 302 can, forinstance, notify the linking server 1 of the user ID of the user of theoperation terminal 3 and obtain information on a candidate triggeringevent(s) selectable by the user having that user ID. In a case where theuser has already designated a triggering event(s) or action(s), thecandidate obtaining section 302 can (i) notify the linking server 1 ofthe triggering event(s) or action(s), (ii) obtain information on acandidate triggering event(s) selectable in combination with thetriggering event(s) or action(s), and (iii) control the display section33 to display the candidate triggering event(s) (see (a) of FIG. 9).

Subsequently, the rule setting section 301 accepts an input(designation) of a triggering event by the user (S12, rule settingstep). The rule setting section 301 then judges whether the triggeringevent of which the input has been accepted in the step S12 is a secondor subsequent triggering event (S13). In a case where the rule settingsection 301 has judged that the triggering event of which the input hasbeen accepted in the step S12 is a first triggering event (NO in S13),the process proceeds to the step S15. In a case where the rule settingsection 301 has judged that the triggering event of which the input hasbeen accepted in the step S12 is a second or subsequent triggering event(YES in S13), the rule setting section 301 accepts an input of a settime period (S14, rule setting step). The process then proceeds to thestep S15.

In the step S15 after the step S13 or S14, the rule setting section 301updates the UI screen to cause the UI screen to reflect the inputaccepted and to accept an input operation for designating another actionor triggering event. In a case where, for instance, the rule settingsection 301 has accepted a designation for a first triggering event, therule setting section 301 controls the display section 33 to display thedesignated triggering event for the first trigger setting item 51′together with the second trigger setting item 52 and the first actionsetting item 53 as illustrated in (b) of FIG. 8. The process thenproceeds to the step S16.

In a case where the rule setting section 301 has judged in the step S10that the input operation is to set an action, the candidate obtainingsection 302 obtains information on a candidate action(s) from thelinking server 1 and controls the display section 33 to display thecandidate action(s) (S19). The candidate obtaining section 302 can set acondition for obtaining information on a candidate action(s). Thecandidate obtaining section 302 can, for instance, notify the linkingserver 1 of the user ID of the user of the operation terminal 3 andobtain information on a candidate action(s) selectable by the userhaving that user ID. In a case where the user has already designated atriggering event(s) or action(s), the candidate obtaining section 302can (i) notify the linking server 1 of the triggering event(s) oraction(s), (ii) obtain information on a candidate action(s) selectablein combination with the triggering event(s) or action(s), and (iii)control the display section 33 to display the candidate action(s) (see(b) of FIG. 9). After the step S19, the rule setting section 301 acceptsan input (designation) of an action by the user (S20, rule settingstep). The process then proceeds to the step S15.

In the step S15 after the step S20, the rule setting section 301 updatesthe UI screen to cause the UI screen to reflect the input accepted andto accept an input operation for designating another action ortriggering event. In a case where, for instance, the rule settingsection 301 has accepted a designation for a first action, the rulesetting section 301 controls the display section 33 to display thedesignated action for the first action setting item 53′ together withthe second trigger setting item 52 and the second action setting item 54as illustrated in (c) of FIG. 8. The process then proceeds to the stepS16.

In the step S16, the rule setting section 301 judges whether a useroperation has been carried out to end setting the linking rule. In acase where the rule setting section 301 has judged that a user operationhas been carried out to end setting the linking rule (YES in S16), theinformation notifying section 300 notifies the linking server 1 of anyinput (for example, of a trigger, an action, a set time period, and/orthe order of triggering events) accepted up to that time point (S17,information notifying step). The process carried out by the operationterminal 3 ends here. The information notifying section 300 can notifythe linking server 1 of (i) all accepted inputs together when a useroperation has been carried out to end setting the linking rule as inthis example, or (ii) each accepted input sequentially when the rulesetting section 301 has accepted the input.

In a case where the rule setting section 301 has judged that no useroperation has been carried out to end setting the linking rule (NO inS16), the rule setting section 301 returns to the step S10 to accept aninput of any of various information items for generation of the linkingrule.

The description below deals with the process carried out by the linkingserver 1. The operation terminal 3, as described above, requests thelinking server 1 to transmit information on a candidate triggeringevent(s) to the operation terminal 3. In response to this request, thecandidate notifying section 101 of the linking server 1 notifies theoperation terminal 3 of a candidate triggering event(s) (S30). Theoperation terminal 3, as described above, also requests the linkingserver 1 to transmit information on a candidate action(s) to theoperation terminal 3. In response to this request, the candidatenotifying section 101 of the linking server 1 notifies the operationterminal 3 of a candidate action(s) (S31).

The operation terminal 3, as described above, notifies the linkingserver 1 of any input accepted. The setting receiving section 100 of thelinking server 1 receives this notification (S32, receiving step). Therule generating section 102 then associates the information itemsincluded in the inputs with each other to generate a linking rule (S33,rule generating step) and registers the generated linking rule as partof the linking rule management information 111 to end the processcarried out by the linking server 1.

Embodiment 5

The preceding embodiments discussed examples in each of which a singlelinking server 1 is used. Alternatively, it is possible to use separateservers to achieve each function of the linking server 1. In a casewhere a plurality of servers are employed, each server can be managed bythe same operator or by differing operators. This also applies to eachof the servers described above, such as the device controlling server 2.

Note that each of the servers described above can be a computer systemconstituted by a single computer or a system constituted by a group ofcomputers, such as a group including a plurality of computers, adatabase, and a load balancer. In other words, each of the serversdescribed above can be (i) a computer system which achieve a predefinedfunction via a body (device) which is singular in a physical sense, or(ii) a computer system which realizes a predefined function via a body(constituted by a plurality of devices) which is singular in atheoretical sense.

Embodiment 6

Each block of the linking server 1 and the operation terminal 3 can berealized by a logic circuit (hardware) provided in an integrated circuit(IC chip) or the like or can be alternatively realized by software asexecuted by a central processing unit (CPU). In the latter case, thelinking server 1 and the operation terminal 3 each be realized by acomputer (electronic computer) as illustrated in FIG. 12.

FIG. 12 is a block diagram illustrating a configuration of a computer910 by which the linking server 1 and the operation terminal 3 can berealized. The computer 910 includes (i) an arithmetic logic unit 912,(ii) a main storage device 913, (iii) an auxiliary storage device 914,(iv) an input/output interface 915, and (v) a communication interface916 that are connected to each other via a bus 911. Each of thearithmetic logic unit 912, the main storage device 913, and theauxiliary storage device 914 can be realized by, for example, a CPU, arandom access memory (RAM), or a hard disk drive. The input/outputinterface 915 is connected with (i) an input device 920 via which a userinputs various information into the computer 910 and (ii) an outputdevice 930 via which the computer 910 outputs various information to theuser. Each of the input device 920 and the output device 930 can beembedded in the computer 910 or can be alternatively connected to thecomputer 910 (externally connected to the computer 910). For example,the input device 920 can be a keyboard, a mouse, a touch sensor, or thelike, and the output device 930 can be a display, a printer, a speaker,or the like. Alternatively, a device having both of a function of theinput device 920 and a function of the output device 930 (such as atouch panel into which a touch sensor and a display are integrated) canbe employed. The communication interface 916 is an interface via whichthe computer 910 communicates with an external device.

The auxiliary storage device 914 stores various programs for controllingthe computer 910 to operate as the linking server 1 and the operationterminal 3. The arithmetic logic unit 912 controls the computer 910 tooperate as sections included in the linking server 1 and the operationterminal 3 by (i) loading, onto the main storage device 913, theprograms stored in the auxiliary storage device 914 and (ii) executinginstructions carried out in the programs. Note that a recording mediumwhich is included in the auxiliary storage device 914 for recordinginformation, such as the various programs, only needs to be acomputer-readable “non-transitory tangible medium.” Examples of therecording medium include tapes, disks, cards, semiconductor memories,and programmable logic circuits.

The various programs can be obtained from outside of the computer 910.In such a case, the various programs can be obtained via anytransmission medium (such as a communication network or a broadcastwave). The present invention can also be achieved in the form of acomputer data signal in which the various programs are embodied viaelectronic transmission and which is embedded in a carrier wave.

[Recap]

An operation execution controlling server (linking server 1) inaccordance with Aspect 1 of the present invention is an operationexecution controlling server which controls an operation executionservice to execute an action in accordance with a linking ruleindicative of the action and of a trigger that triggers the action, thelinking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the operationexecution controlling server including: an event detecting section(103); and an operation execution control section (action executioncontrol section), the event detecting section being configured to detecteach of the occurrences of the plurality of events according toinformation received from an information providing service, and theoperation execution control section being configured to control theoperation execution service to execute the action in a case where theevent detecting section detects an occurrence of one of the plurality ofevents and then detects, within a certain time period, occurrences ofall of remaining ones of the plurality of events.

According to the configuration, the action specified in the linking ruleis executed in a case where the occurrence of one of the plurality ofevents set as a trigger in the linking rule is detected and then, withinthe certain time period, the occurrences of all of the remaining ones ofthe plurality of events are detected. This advantageously brings aboutthe effect of being able to execute an action according to acircumstance in which a plurality of events occur within a certain timeperiod. Note that each event is preferably an event based on a behaviorof a user. This make it possible to execute an action according to acircumstance in which a user exhibits a plurality of certain behaviorswithin a certain time period.

In Aspect 2 of the present invention, the operation executioncontrolling server of Aspect 1 can be configured so that: the linkingrule is set so as to specify an order of the occurrences of theplurality of events; and the operation execution control sectioncontrols the operation execution service to execute the action in a casewhere the event detecting section detects that the plurality of eventshave occurred in the order thus specified.

According to the configuration, an action is executed in a case where itis detected that the plurality of events occur in the order specified inthe linking rule. This makes it possible to execute an action accordingto a circumstance in which a plurality of events occur in a certainorder. For example, it is possible to control a certain device to speaka send-off message (such as “Have a nice day”) in a case where (i) anevent in which a living room door is opened occurs and then (ii) anevent in which a front door is opened occurs. Meanwhile, it is alsopossible to control the certain device to speak a welcoming message(such as “Welcome home”) in a case where (i) an event in which the frontdoor is opened occurs and then (ii) an event in which the living roomdoor is opened occurs.

In Aspect 3 of the present invention, the operation executioncontrolling server of Aspect 1 or 2 can be configured so that in a casewhere a plurality of linking rules are set and a plurality of actionsrespectively associated with the plurality of linking rules should beexecuted, the operation execution control section controls one or noneof the actions to be executed.

According to the configuration, in a case where a plurality of linkingrules are set and a plurality of actions respectively associated withthe plurality of linking rules should be executed, one or none of theactions is executed. This makes it possible to avoid a problem whicharises in a case where (i) a plurality of actions occur simultaneouslyor (ii) instructions to execute a plurality of actions aresimultaneously given. For example, it is possible to avoid problems suchas (i) a problem in which a plurality of devices speak simultaneously,so that a user has trouble hearing a speaking content of each of thedevices or (ii) a problem in which a device simultaneously receivesinstructions to execute a plurality of actions, so that a load on thedevice for processing information becomes excessive.

Note that in a case where any one of the actions is to be executed, itis possible to execute an action specified in a linking rule which hasbeen used more times (the number of times a specified action has beenexecuted) than the other linking rules in the past. This makes itpossible to execute an action that is assumed to be most desired by theuser in view of the past history.

Alternatively, in a case where any one of the actions is to be executed,it is possible to execute an action specified in a linking rule whichhas a preset priority rank that is higher than those of the otherlinking rules. In such a case, the priority ranks can be set by theuser. This makes it possible to execute an action specified in a linkingrule that is in accordance with the intention of the user.

In aspect 4 of the present invention, the operation executioncontrolling server of any one of Aspects 1 through 3 can be configuredso that: the plurality of events include an action event for causinganother action, which is different from the action, to be executed; theoperation execution control section controls the operation executionservice or another operation execution service to execute the anotheraction associated with the action event; and the event detecting sectiondetects an occurrence of the action event in a case where the operationexecution control section controls the another action to be executed.

According to the configuration, the plurality of events specified in alinking rule include an action event. Then, an occurrence of the actionevent is detected in a case where the another action is executed.Therefore, an action specified in a linking rule can be executed under acondition in which the action event has occurred. This aspect of thepresent invention is useful in a case where the another actionassociated with the action event needs to (or preferably) have alreadybeen executed in order for the action specified in the linking rule tobe executed.

In Aspect 5 of the present invention, the operation executioncontrolling server of Aspect 4 can be configured so that in a case wherethe event detecting section detects occurrences of all of the pluralityof events except for the action event, the operation execution controlsection controls the operation execution service or the anotheroperation execution service to execute an alternative action as analternative to the another action.

According to the configuration, in a case where occurrences of all ofthe plurality of events except for the action event are detected, theoperation execution service or the another operation execution serviceis controlled to execute an alternative action as an alternative to theanother action. In this way, the fact that the another action of theaction event was not executed can be covered by executing itsalternative action.

Note that the alternative action can be any action, execution of whichis meaningful in a case where the another action of the action event wasnot executed. For example, in a case where the another action of theaction event is of a certain device to speak a certain message, analternative action can be an action for another device to speak thecertain message.

A rule generating server (linking server 1) in accordance with Aspect 6of the present invention is a rule generating server that generates alinking rule in accordance with which an operation execution controllingserver (linking server 1) controls an operation execution service toexecute an action, the linking rule being able to specify a plurality ofevents, an occurrence of each of which is detected (i) as a trigger thattriggers the action and (ii) according to information providing servicetransmitted from an information providing service to the operationexecution controlling server, the rule generating server including: areceiving section (setting receiving section 100); and a rule generatingsection (102), the receiving section being configured to receive, from aterminal device (operation terminal 3) for use in registration of thelinking rule, (i) designation of the action, (ii) designation of theplurality of events, and (iii) designation of an upper limit of a timeperiod between a time point at which an occurrence of one of theplurality of events is detected and a time point at which occurrences ofall of remaining ones of the plurality of events, and the rulegenerating section being configured to generate the linking rule inwhich the action, the plurality of events, and the time period thusreceived by the receiving section are associated with each other.

According to the configuration, generated is the linking rule in whichthe action, the plurality of events, and the time period thus receivedfrom the terminal device are associated with each other. Thisadvantageously brings about the effect of being able to control theoperation execution controlling server to use the generated linking ruleso as to execute an action according to a circumstance in which aplurality of events occur within a certain time period. Note that therule generating server and the operation execution controlling servercan be of an integrated device or can be separates devices.

In Aspect 7 of the present invention, the rule generating server ofAspect 6 can be configured to further include a candidate notifyingsection (101) which notifies, in a case where the receiving sectionreceives designation of one of the plurality of events, the terminaldevice of at least one of (i) an event which can serve as the triggertogether with the one of the plurality of events and (ii) an actionwhich can be triggered by the trigger.

According to the configuration, in a case where designation of one ofthe plurality of events is received, the terminal device is notified ofat least one of (i) an event which can serve as the trigger togetherwith the one of the plurality of events and (ii) an action which can betriggered by the trigger. This allows the user of the terminal device toselect an event(s) and an action, which should be included in a linkingrule, from (i) the event which can serve as the trigger together withthe one of the plurality of events and (ii) the action which can betriggered by the trigger.

A terminal device (operation terminal 3) in accordance with Aspect 8 ofthe present invention is a terminal device that controls a rulegenerating server to generate a linking rule in accordance with which anoperation execution controlling server controls an operation executionservice to execute an action, the linking rule being able to specify aplurality of events, an occurrence of each of which is detected by theoperation execution controlling server (i) as a trigger that triggersthe action and (ii) according to information providing servicetransmitted from an information providing service to the operationexecution controlling server, the terminal device including: a rulesetting section (301); and an information notifying section (300), therule setting section being configured to receive, from a user whoregisters the linking rule, (i) designation of the action, (ii)designation of the plurality of events, and (iii) designation of anupper limit of a time period between a time point at which an occurrenceof one of the plurality of events is detected and a time point at whichoccurrences of all of remaining ones of the plurality of events, and theinformation notifying section being configured to notify the rulegenerating server of the action, the plurality of events, and the timeperiod thus received by the rule setting section, so that the rulegenerating server generates the linking rule in which the action, theplurality of events, and the time period are associated with each other.

According to the configuration, the rule generating server is controlledto generate the linking rule in which the action, the plurality ofevents, and the time period thus received from the user are associatedwith each other. This advantageously brings about the effect of beingable to control the operation execution controlling server to use thegenerated linking rule so as to execute an action according to acircumstance in which a plurality of events occur within a certain timeperiod.

In Aspect 9 of the present invention, the terminal device of Aspect 8can be configured so that: the plurality of events can include at leastone action event which causes the operation execution service or anotheroperation execution service to execute another action that is differentfrom the action; and the rule setting section is configured to present,to the user in a case where the designation of the action event isreceived, at least one of (i) an event which can serve as the triggertogether with the action event and (ii) an action which can be triggeredby the trigger.

A linking system (7) in accordance with Aspect 10 of the presentinvention is a linking system including: an information providing server(5); a device controlling server (2); an operation execution controllingserver (linking server 1); and a control-target device (device 4), theoperation execution controlling server being configured to control thecontrol-target device to execute an action in accordance with a linkingrule indicative of the action and of a trigger that triggers the action,the linking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the informationproviding server being configured to transmit, to the operationexecution controlling server, information concerning the plurality ofevents, and the operation execution controlling server being configuredto control, via the device controlling server, the control-target deviceto execute the action in a case where an occurrence of one of theplurality of events is detected according to the information transmittedfrom the information providing server and then, within a certain timeperiod, occurrences of all of remaining ones of the plurality of eventsare detected. The linking system thus configured brings about anadvantageous effect similar to that of Aspect 1.

An operation execution controlling server controlling method inaccordance with Aspect 11 of the present invention is a method ofcontrolling an operation execution controlling server which controls anoperation execution service to execute an action in accordance with alinking rule indicative of the action and of a trigger that triggers theaction, the linking rule being set so that occurrences of a plurality ofevents serve as the trigger corresponding to the action, the methodincluding the steps of: (a) detecting each of the occurrences of theplurality of events according to information received from aninformation providing service (S1); and (b) controlling the operationexecution service to execute the action in a case where in the step (a),an occurrence of one of the plurality of events is detected and then,within a certain time period, occurrences of all of remaining ones ofthe plurality of events are detected (S4). The controlling method thusconfigured brings about an advantageous effect similar to that of Aspect1.

A rule generating server controlling method in accordance with Aspect 12of the present invention is a method of controlling a rule generatingserver that generates a linking rule in accordance with which anoperation execution controlling server controls an operation executionservice to execute an action, the linking rule being able to specify aplurality of events, an occurrence of each of which is detected (i) as atrigger that triggers the action and (ii) according to informationproviding service transmitted from an information providing service tothe operation execution controlling server, the method including thesteps of: (a) receiving, from a terminal device for use in registrationof the linking rule (S32), (i) designation of the action, (ii)designation of the plurality of events, and (iii) designation of anupper limit of a time period between a time point at which an occurrenceof one of the plurality of events is detected and a time point at whichoccurrences of all of remaining ones of the plurality of events; and (b)generating the linking rule in which the action, the plurality ofevents, and the time period thus received in the step (a) are associatedwith each other (S33). The controlling method thus configured bringsabout an advantageous effect similar to that of Aspect 6.

A terminal device controlling method in accordance with Aspect 13 of thepresent invention is a method of controlling a terminal device thatcontrols a rule generating server to generate a linking rule inaccordance with which an operation execution controlling server controlsan operation execution service to execute an action, the linking rulebeing able to specify a plurality of events, an occurrence of each ofwhich is detected by the operation execution controlling server (i) as atrigger that triggers the action and (ii) according to informationproviding service transmitted from an information providing service tothe operation execu tion controlling server, the method including thesteps of: (a) receiving, from a user who registers the linking rule, (i)designation of the action, (ii) designation of the plurality of events,and (iii) designation of an upper limit of a time period between a timepoint at which an occurrence of one of the plurality of events isdetected and a time point at which occurrences of all of remaining onesof the plurality of events (S12, step S14, step S20); and (b) notifyingthe rule generating server of the action, the plurality of events, andthe time period thus received in the step (a), so that the rulegenerating server generates the linking rule in which the action, theplurality of events, and the time period are associated with each other(S17). The controlling method thus configured brings about anadvantageous effect similar to that of Aspect 8.

The operation execution controlling server, the rule generating server,and the terminal device in accordance with each of Aspects of thepresent invention can each be achieved by a computer. In such a case,the scope of the present invention also encompasses (i) a controlprogram which, with use of the computer, achieves the operationexecution controlling server, the rule generating server, or theterminal device by controlling the computer to serve as the sections(software elements) included in the operation execution controllingserver, the rule generating server, or the terminal device and (ii) acomputer-readable storage medium in which the control program is stored.

The present invention is not limited to the embodiments, but can bealtered by a skilled person in the art within the scope of the claims.The present invention also encompasses, in its technical scope, anyembodiment derived by combining technical means disclosed in differingembodiments. Further, it is possible to form a new technical feature bycombining the technical means disclosed in the respective embodiments.

REFERENCE SIGNS LIST

-   -   1 Linking server (rule generating server)    -   100 Setting receiving section (receiving section)    -   101 Candidate notifying section    -   102 Rule generating section    -   105 Action execution control section (operation    -   execution control section)    -   2 Device controlling server    -   3 Operation terminal (terminal device)    -   300 Information notifying section    -   301 Rule setting section    -   4 Device (control-target device)    -   5 Information providing server    -   7 Linking system

1. An operation execution controlling server which controls an operationexecution service to execute an action in accordance with a linking ruleindicative of the action and of a trigger that triggers the action, thelinking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the operationexecution controlling server comprising: an event detecting section; andan operation execution control section, the event detecting sectionbeing configured to detect each of the occurrences of the plurality ofevents according to information received from an information providingservice, and the operation execution control section being configured tocontrol the operation execution service to execute the action in a casewhere the event detecting section detects an occurrence of one of theplurality of events and then detects, within a certain time period,occurrences of all of remaining ones of the plurality of events.
 2. Theoperation execution controlling server as set forth in claim 1, wherein:the linking rule is set so as to specify an order of the occurrences ofthe plurality of events; and the operation execution control sectioncontrols the operation execution service to execute the action in a casewhere the event detecting section detects that the plurality of eventshave occurred in the order thus specified.
 3. The operation executioncontrolling server as set forth in claim 1, wherein: in a case where aplurality of linking rules are set and a plurality of actionsrespectively associated with the plurality of linking rules should beexecuted, the operation execution control section controls one or one ofthe actions to be executed.
 4. The operation execution controllingserver as set forth in claim 1, wherein: the plurality of events includean action event for causing another action, which is different from theaction, to be executed; the operation execution control section controlsthe operation execution service or another operation execution serviceto execute the another action associated with the action event; and theevent detecting section detects an occurrence of the action event in acase where the operation execution control section controls the anotheraction to be executed.
 5. The operation execution controlling server asset forth in claim 4, wherein in a case where the event detectingsection detects occurrences of all of the plurality of events except forthe action event, the operation execution control section controls theoperation execution service or the another operation execution serviceto execute an alternative action as an alternative to the anotheraction.
 6. A rule generating server that generates a linking rule inaccordance with which an operation execution controlling server controlsan operation execution service to execute an action, the linking rulebeing able to specify a plurality of events, an occurrence of each ofwhich is detected (i) as a trigger that triggers the action and (ii)according to information providing service transmitted from aninformation providing service to the operation execution controllingserver, the rule generating server comprising: a receiving section; anda rule generating section, the receiving section being configured toreceive, from a terminal device for use in registration of the linkingrule, (i) designation of the action, (ii) designation of the pluralityof events, and (iii) designation of an upper limit of a time periodbetween a time point at which an occurrence of one of the plurality ofevents is detected and a time point at which occurrences of all ofremaining ones of the plurality of events, and the rule generatingsection being configured to generate the linking rule in which theaction, the plurality of events, and the time period thus received bythe receiving section are associated with each other.
 7. The rulegenerating server as set forth in claim 6, further comprising: acandidate notifying section, the candidate notifying section beingconfigured to notify, in a case where the receiving section receivesdesignation of one of the plurality of events, the terminal device of atleast one of (i) an event which can serve as the trigger together withthe one of the plurality of events and (ii) an action which can betriggered by the trigger.
 8. A terminal device that controls a rulegenerating server to generate a linking rule in accordance with which anoperation execution controlling server controls an operation executionservice to execute an action, the linking rule being able to specify aplurality of events, an occurrence of each of which is detected by theoperation execution controlling server (i) as a trigger that triggersthe action and (ii) according to information providing servicetransmitted from an information providing service to the operationexecution controlling server, the terminal device comprising: a rulesetting section; and an information notifying section, the rule settingsection being configured to receive, from a user Who registers thelinking rule, (i) designation of the action, (ii) designation of theplurality of events, and (iii) designation of an upper limit of a timeperiod between a time point at which an occurrence of one of theplurality of events is detected and a time point at which occurrences ofall of remaining ones of the plurality of events, and the informationnotifying section being configured to notify the rule generating serverof the action, the plurality of events, and the time period thusreceived by the rule setting section, so that the rule generating servergenerates the linking rule in which the action, the plurality of events,and the time period are associated with each other.
 9. The terminaldevice as set forth in claim 8, wherein: the plurality of events caninclude at least one action event which causes the operation executionservice or another operation execution service to execute another actionthat is different from the action; and the rule setting section isconfigured to present, to the user in a case where the designation ofthe action event is received, at least one of (i) an event which canserve as the trigger together with the action event and (ii) an actionwhich can be triggered by the trigger.
 10. A linking system comprising:an information providing server; a device controlling server; anoperation execution controlling server; and a control-target device, theoperation execution controlling server being configured to control thecontrol-target device to execute an action in accordance with a linkingrule indicative of the action and of a trigger that triggers the action,the linking rule being set so that occurrences of a plurality of eventsserve as the trigger corresponding to the action, the informationproviding server being configured to transmit, to the operationexecution controlling server, information concerning the plurality ofevents, and the operation execution controlling server being configuredto control, via the device controlling server, the control-target deviceto execute the action in a case where an occurrence of one of theplurality of events is detected according to the information transmittedfrom the information providing server and then, within a certain timeperiod, occurrences of all of remaining ones of the plurality of eventsare detected.
 11. A method of controlling an operation executioncontrolling server which controls an operation execution service toexecute an action in accordance with a linking rule indicative of theaction and of a trigger that triggers the action, the linking rule beingset so that occurrences of a plurality of events serve as the triggercorresponding to the action, the method comprising the steps of: (a)detecting each of the occurrences of the plurality of events accordingto information received from an information providing service; and (b)controlling the operation execution service to execute the action in acase where in the step (a), an occurrence of one of the plurality ofevents is detected and then, within a certain time period, occurrencesof all of remaining ones of the plurality of events are detected.
 12. Amethod of controlling a rule generating server that generates a linkingrule in accordance with which an operation execution controlling servercontrols an operation execution service to execute an action, thelinking rule being able to specify a plurality of events, an occurrenceof each of which is detected (i) as a trigger that triggers the actionand (ii) according to information providing service transmitted from aninformation providing service to the operation execution controllingserver, the method comprising the steps of: (a) receiving, from aterminal device for use in registration of the linking rule, (i)designation of the action, (ii) designation of the plurality of events,and (iii) designation of an upper limit of a time period between a timepoint at which an occurrence of one of the plurality of events isdetected and a time point at which occurrences of all of remaining onesof the plurality of events; and (b) generating the linking rule in whichthe action, the plurality of events, and the time period thus receivedin the step (a) are associated with each other.
 13. A method ofcontrolling a terminal device that controls a rule generating server togenerate a linking rule in accordance with which an operation executioncontrolling server controls an operation execution service to execute anaction, the linking rule being able to specify a plurality of events, anoccurrence of each of which is detected by the operation executioncontrolling server (i) as a trigger that triggers the action and (ii)according to information providing service transmitted from aninformation providing service to the operation execution controllingserver, the method comprising the steps of: (a) receiving, from a userwho registers the linking rule, (i) designation of the action, (ii)designation of the plurality of events, and (iii) designation of anupper limit of a time period between a time point at which an occurrenceof one of the plurality of events is detected and a time point at whichoccurrences of all of remaining ones of the plurality of events; and (b)notifying the rule generating server of the action, the plurality ofevents, and the time period thus received in the step (a), so that therule generating server generates the linking rule in Which the action,the plurality of events, and the time period are associated with eachother.
 14. A computer-readable recording medium that records the programthat causes a computer to function as a terminal device recited in claim8, the program controlling the computer to serve as a rule settingsection and as an information notifying section.